package com.first.nell.info.face

import android.content.Context
import android.content.Intent
import android.graphics.Bitmap

object FaceDetectManager {

    /**
     * 人脸检测状态
     *
     * @param isSuccess Boolean 是否成功
     * @param filePath String 本地文件路径
     * @param image Bipmap 人脸文件
     */
    private var mFaceDetectListener: (Boolean, String?, Bitmap?) -> Unit = { _, _, _ -> }

    /**
     * 人脸检测状态回调监听
     *
     * @param isSuccess Boolean 是否成功
     * @param filePath String 本地文件路径
     * @param image Bipmap 人脸文件
     */
    fun onFaceDetectFinish(listener: (Boolean, String?, Bitmap?) -> Unit) {
        mFaceDetectListener = listener
    }

    /**
     * 设置人脸检测状态
     *
     * @param isSuccess Boolean 是否成功
     * @param filePath String 本地文件路径
     * @param image Bipmap 人脸文件
     */
    fun setFaceDetectState(isSuccess: Boolean, filePath: String?, image: Bitmap?) {
        mFaceDetectListener.invoke(isSuccess, filePath, image)
    }

    /** 调起人脸检测 */
    fun startFaceDetecting(aContext: Context, listener: (Boolean, String?, Bitmap?) -> Unit) {
        mFaceDetectListener = listener
        startFaceDetecting(aContext)
    }

    /** 调起人脸检测 */
    fun startFaceDetecting(aContext: Context) {
        val intent = Intent(aContext, FaceDoingActivity::class.java)
        aContext.startActivity(intent)
    }
}